home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / asm / utils / crossword / includes / my_dos.i < prev    next >
Encoding:
Text File  |  1980-01-04  |  3.0 KB  |  197 lines

  1.  
  2.  
  3. * This is my standard Dos library file. It has
  4. * been ripped off from the Genam file & altered
  5. * to suit me.
  6.  
  7. * library offsets from dos_base(a6)
  8.  
  9. Open    =-30
  10. Close    =-36
  11. Read    =-42
  12. Write    =-48
  13. Input    =-54
  14. Output    =-60
  15. Seek    =-66
  16. DeleteFile=-72
  17. Rename    =-78
  18. Lock    =-84
  19. UnLock    =-90
  20. DupLock    =-96
  21. Examine    =-102
  22. ExNext    =-108
  23. Info    =-114
  24. CreateDir=-120
  25. CurrentDir=-126
  26. IoErr    =-132
  27. CreateProc=-138
  28. Exit    =-144
  29. LoadSeg    =-150
  30. UnLoadSeg=-156
  31. GetPacket=-162
  32. QueuePacket=-168
  33. DeviceProc=-174
  34. SetComment=-180
  35. SetProtection=-186
  36. DateStamp=-192
  37. Delay    =-198
  38. WaitForChar=-204
  39. ParentDir=-210
  40. IsInteractive=-216
  41. Execute    =-222
  42.  
  43. ;dos library access modes
  44.  
  45. MODE_OLD    =1005
  46. MODE_NEW    =1006
  47.  
  48.  
  49. SHARED_LOCK    EQU   -2
  50. ACCESS_READ    EQU   -2
  51. EXCLUSIVE_LOCK    EQU   -1
  52. ACCESS_WRITE    EQU   -1
  53.  
  54. SEEK_START=-1
  55. SEEK_CURRENT=0
  56. SEEK_END    =1
  57.  
  58.  
  59. * Datestamp data structure
  60.  
  61.  
  62.         rsreset
  63. ds_Days        rs.l    1
  64. ds_Minute    rs.l    1
  65. ds_Tick        rs.l    1
  66. ds_sizeof    rs.w    0
  67.  
  68. TICKS_PER_SECOND=50
  69.  
  70.  
  71. * FileInfoBlock structure
  72.  
  73.  
  74.         rsreset
  75. fib_DiskKey    rs.l    1
  76. fib_DirEntryType    rs.l    1
  77. fib_FileName    rs.b    108
  78. fib_Protection    rs.l    1
  79. fib_EntryType    rs.l    1
  80. fib_Size        rs.l    1
  81. fib_NumBlocks    rs.l    1
  82. fib_DateStamp    rs.b    ds_sizeof
  83. fib_Comment    rs.b    116
  84.  
  85. fib_sizeof    rs.w    0
  86.  
  87.  
  88. FIBB_ARCHIVE=4
  89. FIBF_ARCHIVE=1<<4
  90. FIBB_READ=3
  91. FIBF_READ=1<<3
  92. FIBB_WRITE=2
  93. FIBF_WRITE=1<<2
  94. FIBB_EXECUTE=1
  95. FIBF_EXECUTE=1<<1
  96. FIBB_DELETE=0
  97. FIBF_DELETE=1<<0
  98.  
  99.  
  100. * InfoData structure
  101.  
  102.  
  103.         rsreset
  104. InfoData        rs.b    0
  105. id_NumSoftErrors    rs.l    1
  106. id_UnitNumber    rs.l    1
  107. id_DiskState    rs.l    1
  108. id_NumBlocks    rs.l    1
  109. id_NumBlocksUsed    rs.l    1
  110. id_BytesPerBlock    rs.l    1
  111. id_DiskType    rs.l    1
  112. id_VolumeNode    rs.l    1
  113. id_InUse        rs.l    1
  114.  
  115. id_sizeof    rs.w    0
  116.  
  117. ID_WRITE_PROTECTED=80
  118. ID_VALIDATING    =81
  119. ID_VALIDATED    =82
  120. ID_NO_DISK_PRESENT=-1
  121. ID_UNREADABLE_DISK=('B'<<24)!('A'<<16)!('D'<<8)
  122. ID_NOT_REALLY_DOS    =('N'<<24)!('D'<<16)!('O'<<8)!('S')
  123. ID_DOS_DISK    =('D'<<24)!('O'<<16)!('S'<<8)
  124. ID_KICKSTART_DISK    =('K'<<24)!('I'<<16)!('C'<<8)!('K')
  125.  
  126.  
  127. * List of DOS error codes
  128.  
  129.  
  130. ERROR_NO_FREE_STORE=103
  131. ERROR_TASK_TABLE_FULL=105
  132. ERROR_LINE_TOO_LONG=120
  133. ERROR_FILE_NOT_OBJECT=121
  134.  
  135. ERROR_INVALID_RESIDENT_LIBRARY=122
  136.  
  137. ERROR_OBJECT_IN_USE=202
  138. ERROR_OBJECT_EXISTS=203
  139. ERROR_OBJECT_NOT_FOUND=205
  140. ERROR_ACTION_NOT_KNOWN=209
  141.  
  142. ERROR_INVALID_COMPONENT_NAME=210
  143.  
  144. ERROR_INVALID_LOCK=211
  145. ERROR_OBJECT_WRONG_TYPE=212
  146. ERROR_DISK_NOT_VALIDATED=213
  147. ERROR_DISK_WRITE_PROTECTED=214
  148.  
  149. ERROR_RENAME_ACROSS_DEVICES=215
  150.  
  151. ERROR_DIRECTORY_NOT_EMPTY=216
  152. ERROR_DEVICE_NOT_MOUNTED=218
  153. ERROR_SEEK_ERROR    =219
  154. ERROR_COMMENT_TOO_BIG=220
  155. ERROR_DISK_FULL    =221
  156. ERROR_DELETE_PROTECTED=222
  157. ERROR_WRITE_PROTECTED=223
  158. ERROR_READ_PROTECTED=224
  159. ERROR_NOT_A_DOS_DISK=225
  160. ERROR_NO_DISK    =226
  161. ERROR_NO_MORE_ENTRIES=232
  162. RETURN_OK    =0
  163. RETURN_WARN    =5
  164. RETURN_ERROR    =10
  165. RETURN_FAIL    =20
  166.  
  167.  
  168.  
  169. SIGBREAKB_CTRL_C=12
  170. SIGBREAKF_CTRL_C=1<<12
  171. SIGBREAKB_CTRL_D=13
  172. SIGBREAKF_CTRL_D=1<<13
  173. SIGBREAKB_CTRL_E=14
  174. SIGBREAKF_CTRL_E=1<<14
  175. SIGBREAKB_CTRL_F=15
  176. SIGBREAKF_CTRL_F=1<<15
  177.  
  178.  
  179. * Macro for calling a DOS.LIBRARY function
  180.  
  181.  
  182. CALLDOS        macro    name    ;call a DOS library function
  183.  
  184.         move.l    a6,-(sp)
  185.         move.l    dos_base(a6),a6
  186.         jsr    \1(a6)
  187.         move.l    (sp)+,a6
  188.  
  189.         endm
  190.  
  191. CALLSYS        macro    name    ;call any library function
  192.         jsr    \1(a6)
  193.         endm
  194.  
  195.  
  196.  
  197.